#pragma once
#include"RBtree.h"
namespace hu
{
	template<class T>
	struct setoftree
	{
		const T& operator()(const T& key)
		{
			return key;
		}
	};
	template<class T>
	class My_set
	{
	public:
		typedef typename RBtree<T, T, setoftree<T>>::iterator iterator;
		void Inorder() 
		{
			return _t.InorderR();
		}
		iterator begin() const
		{
			return _t.begin();
		}

		iterator end() const 
		{
			return _t.end();
		}
		bool insert(const T& key)
		{
			return _t.insert(key);
		}
	private:
		RBtree<T, T, setoftree<T>> _t;
	};
}